<?php

class ValidatorFechas extends sfValidatorBase
{

	public function configure($options = array(), $messages = array())
	{
		$this->addRequiredOption('begin_date_column');
		$this->addRequiredOption('end_date_column');

		$this->setMessage('invalid', 'La fecha de inicio debe ser menor a la fecha de fin.');
	}

	public function doClean($values)
	{
		$fecha_inicio = new DateTime($values[$this->getOption('begin_date_column')]);
		$fecha_fin = new DateTime($values[$this->getOption('end_date_column')]);

		if ($fecha_inicio > $fecha_fin)
		{
			throw new sfValidatorError($this, 'invalid', array('column' => $this->getOption('end_date_column')));
		}

		return $values;
	}

}